package com.wang.springbootinit.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.wang.springbootinit.common.DeleteRequest;
import com.wang.springbootinit.model.dto.chart.ChartAddRequest;
import com.wang.springbootinit.model.dto.chart.ChartEditRequest;
import com.wang.springbootinit.model.dto.chart.ChartQueryRequest;
import com.wang.springbootinit.model.dto.chart.ChartUpdateRequest;
import com.wang.springbootinit.model.entity.Chart;
import com.wang.springbootinit.model.vo.ChartInfoVO;
import com.wang.springbootinit.model.vo.ChartVO;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

/**
 * @author 胡歌的腿毛
 * @description 针对表【chart(图表信息表)】的数据库操作Service
 * @createDate 2023-07-02 15:27:57
 */
public interface ChartService extends IService<Chart> {

    Long addChart(ChartAddRequest chartAddRequest, HttpServletRequest request);

    Boolean deleteChart(DeleteRequest deleteRequest, HttpServletRequest request);

    Boolean updateChart( ChartUpdateRequest chartUpdateRequest);

    ChartVO getChartById(long id, HttpServletRequest request);

    Page<Chart> searchListChartByPage( ChartQueryRequest chartQueryRequest, HttpServletRequest request);

    Page<Chart> listMyChartByPage( ChartQueryRequest chartQueryRequest, HttpServletRequest request);

    List<ChartVO> getChartStatusList(HttpServletRequest request);

    Boolean editChart( ChartEditRequest chartEditRequest, HttpServletRequest request);


    ChartInfoVO getChartInfo(HttpServletRequest request);
}
